แบบอักษร“ xterm” ที่ใหญ่ขึ้นบนจอแสดงผล HIDPI


16

หลังจากหลายปีที่มีความสุขในการใช้เทอร์มินัลอีมูเลเตอร์ต่าง ๆ เช่นKonsole , Gnome-TERMINALและเทอร์มินัล XFCEล่าสุดในสภาพแวดล้อมเดสก์ท็อปที่เหมาะสมฉันตัดสินใจใช้xtermเก่าที่มีฟอนต์บิตแมปที่ดี ใช้งานได้ดีรองรับ Unicode และตระกูลฟอนต์คงที่เริ่มต้นมีอักขระจากเกือบทุกภาษาซึ่งยอดเยี่ยมมาก

แต่ฉันเจอปัญหาสำคัญ แบบอักษรมีขนาดเล็กมาก แม้แต่ขนาดใหญ่ที่เรียกว่า(ซึ่งเป็นแบบอักษรบิตแมป 10x20) มีขนาดเล็กมากสำหรับฉันและใช้ไม่ได้

การตั้งค่าเริ่มต้นของฉันสำหรับสภาพแวดล้อม XFCE ตั้งไว้ที่ 120 dpi แต่xpdyinfoรายงาน 97x97 DPI

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

ดังนั้นฉันจึงพยายามเปลี่ยน DPI ด้วยxrandrแต่ก็ไม่ได้ช่วย

$ xrandr --dpi 120

ดูเหมือนว่าผลลัพธ์จะถูกนำไปใช้

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

แต่มันไม่เปลี่ยนความละเอียดxtermเลย ฉันได้ลองใช้การปรับขนาดแล้ว แต่มันส่งผลกระทบต่อทั้ง X มากกว่าแอปพลิเคชันเดียว:

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

มีการแก้ปัญหาสำหรับ Qt และ Gtkแต่สิ่งที่เกี่ยวกับXlibการใช้งานชั่นชอบXterm, Xcalc, Xman, Xfigeetc? เราควรดูพวกเขาเลือนหายไปขณะที่ DPI จอแสดงผลเพิ่มขึ้นหรือไม่ กรุณาช่วยถ้าคุณรู้วิธีการแก้ปัญหาใด ๆ


นี่คือสิ่งที่ฉันทำซึ่งใช้งานได้ แต่ฉันไม่สามารถใช้ "ครอบครัวฟอนต์คงที่" ดั้งเดิมดังนั้นตอนนี้มันอาจใช้ได้กับบางภาษาเท่านั้น


PS1: ฉันได้ติดตั้งแบบอักษร 100 DPI สำหรับ X แต่ฉันไม่สามารถใช้ได้

$ sudo apt-get install xfonts-100dpi

PS2: Fontforgeซึ่งยังใช้Xlibใช้ชุดรูปแบบที่ดีและขนาดตัวอักษรปกติ ฉันไม่รู้ว่ามันทำอย่างไร

PS3: ฉันกำลังทดสอบotf2bdfและใช้bdftopcfประโยชน์เพื่อสร้างPCFแบบอักษรบิตแมปทดลองสำหรับ HIDPI จากTTF/OTFแบบอักษรเวกเตอร์

PS4: หลังจากติดตั้งฟอนต์ 100DPI แล้วนี่เป็นสิ่งที่ดีแม้ว่าจะไม่มีการสนับสนุนภาษาที่ดีของfixedฟอนต์เริ่มต้น

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

fontselฉันได้ใช้ มันมีประโยชน์จริงๆ

PS5: นี่ก็มีประโยชน์เช่นกัน

PS6: ฉันสามารถสร้างตัวอักษรบิตแมปบิตแมป 120DPI จากCourier ใหม่ด้วย 20 พอยต์

$ 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 บางทีการเปลี่ยนแปลงมันจะช่วย

PS8: vncdeskเป็นเครื่องมือที่ดีในการใช้งานเพื่อไต่ขึ้นหน้าต่างเดียว


Xft.dpi: 120ใน~/.Xresourcesไม่ทำงาน
ILMostro_7

xrdb -query | grep dpiแล้วรายงาน:Xft.dpi: 120
Ho1

คุณสร้าง~/.Xresourcesไฟล์หรือหรือ~/.Xdefaultsว่าเหมาะสมกับระบบของคุณ? ลิงก์ที่คุณชี้ไปยังที่คุณพูดนั้นมีประโยชน์ไม่ใช่ชุดตัวเลือกที่มีให้สำหรับ xterm ตัวอย่างเช่นXft.lcdfilter: lcddefault Xft.antialias: true Xft.hinting: true Xft.hintstyle: hintslightและอีกมากมาย
ILMostro_7

1
@ MartinSchröderใช่ในความเป็นจริงฉันมีการทดสอบแบบอักษร 120dpi ของตัวเองที่สร้างขึ้นจากแบบอักษร TrueType Courier New แต่นั่นยังขาดทุกภาษาที่ "ฟอนต์บิตแมปตระกูลคงที่" รองรับดังนั้นฉันกำลังมองหาวิธีที่ดีกว่าในการทำเช่นนี้ ขณะนี้อยู่ใน systme ของฉัน / etc / X11 / app-defaults / XTerm เป็นค่าเริ่มต้น VT100.font6 (ใหญ่) ตั้งเป็นฟอนต์10x20จากตระกูลฟอนต์คงที่ซึ่งค่อนข้างเล็กบนหน้าจอของฉัน ฉันจะมีความสุขถ้าเรามีen.wikipedia.org/wiki/Fixed_%28typeface%29สำหรับ 20x40 แต่เราไม่มี
Ho1

1
คุณต้องการใช้แบบอักษรบิตแมปหรือไม่ xtermรองรับฟอนต์ True truetype เช่นกัน xterm -fa 'DejaVu Sans Mono' -fs 40(แม้ว่าจะไม่สลับไปมาระหว่างฟอนต์เมื่อไม่มี glyphs เหมือนเทอร์มินัลอีมูเลเตอร์อื่น ๆ )
Stéphane Chazelas

คำตอบ:


10

คุณได้คำตอบด้วยตนเองโดยอ้างอิงhttps://en.wikipedia.org/wiki/Fixed_(typeface)

นี่เป็นฟอนต์บิตแมปคงที่แบบมาตรฐานซึ่งขยายโดยMarkus Kuhnเพื่อให้มีชุดอักขระที่ค่อนข้างสมบูรณ์ คำถามคือแล้ววิธีการระดับบิตแมป

สิ่งที่คุณได้ประสบความสำเร็จเพื่อให้ห่างไกลการปรับขนาดตัวอักษรเวกเตอร์และการแปลงไปยังบิตแมป(TTF →→ bdf PCF) นั่นเป็นกลยุทธ์ที่ดี แต่อย่างที่คุณพูดถึงมันขาดการสนับสนุนด้านภาษา ดูเหมือนจะแปลกเพราะ Courier New เป็นหนึ่งในฟอนต์ที่สมบูรณ์มากขึ้นแต่ฉันพูดนอกเรื่อง! อาจลองใช้Monoซึ่งเป็นโคลน

แต่ฉันจะไม่เข้าใจว่าทำไมคุณทำเช่นนี้เป็น xterm ไม่ สนับสนุน TrueType

ปรับเปลี่ยน~/.Xresourcesเช่นนี้:

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

แต่กลับไปที่งาน: คุณต้องการแบบอักษรบิตแมปขนาดใหญ่

บิตแมปที่ใหญ่ที่สุดที่มีอยู่คือ:

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

Markus เป็นคนดีมากที่เขาจัดหาไฟล์ BDF ต้นทาง หากการแจกจ่ายของคุณไม่มีการอัปเดตล่าสุด (ตั้งแต่เดือนเมษายน 2009) คุณสามารถคว้าแพ็คเกจจากเขาได้โดยตรง

แพ็คเกจฟอนต์ "-misc-fixed- *":

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

แทนที่จะแปลงไปมาระหว่าง pcf และbdfคุณสามารถ / ควรติดกับรูปแบบของแหล่งที่มา คุณสามารถใช้ตัวแก้ไขแบบอักษร BDF เพื่อปรับขนาดแบบอักษร อย่าคาดหวังว่าจะมีการลดรอยหยักหรือกลอุบายดังกล่าว แต่อย่างน้อยคุณจะได้ขนาดที่สามารถอ่านได้

หรือคุณสามารถใช้bdfresizeโดย Hiroto Kagotani (พบได้ในบางระบบแพ็คเกจ)

UPDATE:

ฉันไม่ทราบวิธีการขยายขนาดหน้าต่างเดียว (ไม่จำเป็น) คุณสามารถติดตามนี้คำถาม Superuser เมื่อฉันมีความต้องการฉันได้ปรับสภาพแวดล้อมทั้งหมด

คุณสามารถลดระดับการแสดงผล 3200x1800 เป็น 1920x1080 โดยใช้:

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

เทคนิคอื่น ๆ สำหรับการปรับขนาดหน้าจอในการจัดการหน้าต่างที่แตกต่างกันสามารถพบได้ที่นี่ พวกเขาแนะนำให้ใช้ VNC:

วิธีหนึ่งคือการเรียกใช้แอปพลิเคชันแบบเต็มหน้าจอและไม่มีการตกแต่งในเดสก์ท็อป VNC ของตัวเอง จากนั้นปรับขนาดผู้ดู ด้วย Vncdesk ( vncdesk-คอมไพล์จาก AUR) vncdesk 2ที่คุณสามารถตั้งค่าสก์ท็อปต่อการประยุกต์ใช้แล้วเริ่มต้นเซิร์ฟเวอร์และไคลเอ็นต์ที่มีคำสั่งง่ายๆเช่น

x11vncมีตัวเลือกทดลอง-appshareซึ่งเปิดหนึ่งวิวเวอร์ต่อหน้าต่างแอปพลิเคชัน บางทีมีบางสิ่งที่อาจถูกแฮ็ก


คำตอบที่ดีขอบคุณ ฉันจะยอมรับคำตอบอย่างมีความสุข ทำไมไม่ Truetype 1) ฉันต้องการใช้กับคอมพิวเตอร์ที่ช้าเครื่องเก่า 2) ครอบครัวที่ตายตัวมีการสนับสนุนทางภาษาที่ยอดเยี่ยมดังที่อธิบายไว้ในcl.cam.ac.uk/~mgk25/ucs-fonts.htmlและสิ่งสุดท้ายคือมีวิธีที่จะขยายหน้าต่างเดียวใน X หรือไม่? ฉันคิดว่านี่จะปรับปรุงคำตอบ
Ho1

1
W / R ไปยังโปสเตอร์ดั้งเดิมต้องการการสนับสนุนภาษาที่แตกต่างกันอย่างกว้างขวางเวร่า จำกัด แต่สปินออฟ DejaVu รองรับชุดอักขระที่แตกต่างกัน จากมุมมองนี้ยังมีแบบอักษร monospaced ที่เป็นอิสระจาก MS ให้มากหรือน้อยนั้นดีมากทั้ง Courier10 และ Calibri ฉันตกหลุมรักคาลิเบอร์ด้วย!
gboffi

0

ตอนนี้คุณสามารถเพิ่มขนาดตัวอักษรโดยกดปุ่มควบคุมและปุ่มเมาส์ขวา (เช่นctrl+right mouse button) แล้วเลือกขนาดตัวอักษร เพื่อให้เป็นค่าเริ่มต้นคุณต้องมีการXresourcesกำหนดค่า ฉันพยายามแล้วฉันจะอัปเดตคำตอบเมื่อได้รับแล้ว

ปรับปรุง:

คุณสามารถสร้าง.Xresourcesไฟล์ในโฮมไดเร็กตอรี่ของคุณและเพิ่มบรรทัดด้านล่างxterm*font: *-fixed-*-*-*-18-*. จากนั้นรวมการเปลี่ยนแปลงของคุณเข้ากับยูทิลิตี้ทรัพยากรเซิร์ฟเวอร์ X โดยใช้xrdb(เช่นxrdb -merge ~/.Xresources) หรือคุณสามารถรีสตาร์ทXได้ ใหม่xtermsควรมีขนาดตัวอักษรที่เปลี่ยนแปลง


ขอบคุณสำหรับคำตอบของคุณฉันใช้ฟอนต์บิตแมปที่ใหญ่ที่สุดที่มีให้สำหรับตระกูลฟอนต์คงที่: 10x20 ซึ่งใช้สำหรับขนาดฟอนต์ขนาดใหญ่ แต่ก็มีขนาดเล็กมากบนจอแสดงผล HIDIP โปรดทราบว่าฉันกำลังพูดถึงแบบอักษรบิตแมปไม่ใช่แบบอักษร TrueType
Ho1

0

ฉันไม่แน่ใจ แต่คุณสามารถรวมแบบอักษรและ siz เช่นนี้:

xterm -fn helvetica -fs 20x10

การทดสอบแบบอักษรเล็ก ๆ

ขอแสดงความนับถือ, maniat1k


ขอบคุณสำหรับคำตอบ. สิ่งนี้ให้แบบอักษรที่ใหญ่กว่า: xterm -fs 20x10แต่ไม่ใช่ "ตระกูลตัวอักษรคงที่": en.wikipedia.org/wiki/Fixed_%28typeface%29ดังนั้นจึงไม่มีตัวอักษรนานาชาติที่ตระกูลแบบอักษรคงที่มี
Ho1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.