🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #60495

Re: Zmiana szerokości znaków czcionki konsolowej (VGA)

#60495
From: Marcin 'Qrczak' Kowalczyk
Date: Thu, 17 Nov 2005 06:38
44 lines
2713 bytes
gophi.at.chmurka.net@nospam.invalid (Adam Wysocki) writes:

> a) jak zmienić szerokość znaku na 8?

W DOS-ie było tak:

  mov dx,3C4h; mov al,1; out dx,al
  inc dx; in al,dx; or al,1; out dx,al
  mov ax,1000h
  mov bx,13h
  int 10h

A w drugą stronę tak:

  mov dx,3C4h; mov al,1; out dx,al
  inc dx; in al,dx; and al,not 1; out dx,al
  mov ax,1000h
  mov bx,813h
  int 10h

Nie pamiętam, co robi ta funkcja przerwania 10h i czym ją zastąpić
w trybie chronionym ani czy to w ogóle pójdzie pod Linuxem.

Uwaga: fonty są zazwyczaj przystosowane do szerokości 8 albo 9.
To znaczy o ile font przystosowany do szerokości 8 będzie jako tako
wyglądał w szerokości 9, tylko niektóre znaki niepotrzebnie będą
ciasne, o tyle w drugą stronę niektóre znaki będą się sklejać.
Przy tradycyjnym foncie VGA może dotyczyć to w szczególności znaków
M T W X Z m w.

Uwaga 2: Jeśli program ma być choć trochę przenośny, to wszelkie tego
typu zabawy są ryzykowne. Na przykład niektórzy używają framebuffera.

> b) jak ustawić ten nieszczęsny 9 bit w (jakby nie było jednobajtowym) 
> kodzie linii znaku?

Znaki 0xC0..0xDF mają 9 bit taki sam jak 8. Pozostałe mają pusty.
To jest sprawa sprzętowa. Zauważ, że CP-437 ma ramki dotykające
prawej strony znaku tylko w tym zakresie.

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/
Technical Details
Message-ID: <87br0jdbib.fsf@qrnik.zagroda>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <gophi.pcolp.1132194575@news.chmurka.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Zmiana szerokości znaków czcionki
 konsolowej (VGA)
Date: Thu, 17 Nov 2005 07:38:52 +0100
Organization: Klub Nieszkodliwych Manjaków
Lines: 44
Message-ID: <87br0jdbib.fsf@qrnik.zagroda>
References: <gophi.pcolp.1132194575@news.chmurka.net>
NNTP-Posting-Host: paf87.warszawa.sdi.tpnet.pl
Mime-Version: 1.0
X-Trace: nemesis.news.tpi.pl 1132209582 25948 217.96.225.87 (17 Nov 2005 06:39:42 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Thu, 17 Nov 2005 06:39:42 +0000 (UTC)
X-Face: .B/ouEO}=VFkSJWE}s0@!:diHI.Z,<Ilt`:~@*]7rnn^K_y"XV8AXf^E)x*|3yVg:$FCq0Y )iGn@Z[SOA<+p}TkAv'Lzu$w{z2?F);0Xt>`m}AqK#Vjuscq(Vf1B}H[)v\9tBN}>AdP,QSRbhO]=v 3?;I+cN/Z0HKPm_Eg99/pFrU!WfpjgQ!z":>A~qt0^4):0-UuPB(6^>j!mN$)RIb)rRhXeK:+MLPW[ RVb7Kepvby-ww6_zci7Yy_@IrWW
User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)
Cancel-Lock: sha1:Py0jBErBJmNLeYgapCeMcEe50sk=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit