ISO-8859-2 vs. console

Fórumok

Sewastok!

Lehet, hogy primitív egyszerű dologban kérek segítséget, de sehogy nem tudtam megoldani a normális iso-8859-2-es console-t. Ékezetek, magyar nyelv oké, de az ncurses-t használó alkalmazások (centericq, mc) "egyenes vonalai" helyett furcsa karakterek vannak. Például: Ł. Létezik megoldás erre a problémára?
A segítségeteket előre is köszönöm!

Hozzászólások

Szerintem nincs.
Régi emlékeim alapján: a keretrajzoló vonalak spec. karakterekből állnak. (már nem emlékszem a karakterkódokra)
Lényeg, hogy ha átváltasz ékezetesre (pl. ISO8859-2) akkor ezen kódok másféle karaktereket jelenítenek meg.
A képernyőn egyszerre csak egyféle karakterkészlet lehet.
De ha hülyeséget írtam, majd kijavít valaki.

--------------
Fel! Támadunk!

setfont lat2-16a.psf

ha minden igaz, emlékezetből írom, de keress rá a megfelelő névre.

--
A nyúl egy igazi jellem. Ott ül a fűben, de akkor sem szívja!

.psf fájlokra keress rá.

Egyébként én BSD-hez nem nagyon értek, de gyanítom, hogy hasonló lesz, mint Linux-on. Nálatok nem kell map-pelést is csinálni? Pl.:

setfont lat2-16.psf
vagy unicode: setfont lat2u-16.psf
hetőséget a terminálon:

echo -ne '\033(K'
mapscrn

A map-fájlra nem emlékszem, talán iso02.acm vagy ilyesmi... ott kell lenniük a fontok környékén.

Aztán lehet, hogy a '\033(K' szekvencia csak Linux-terminálon működik, ez esetben bocs.

Később meg jött a consolechars parancs, azzal kicsit egyszerűbb az élet.

> Egyébként én BSD-hez nem nagyon értek

Akkor talán ne adj tanácsot BSD specifiklus témában. És a konzol az bizony ilyen.

A fontokat nem tudom hogy kerested, de /usr/share/syscons/fonts könyvtárban vannak. Itt is van mapping mint Linux alatt, de eléggé másra valók, úgyhogy feljtsd el őket.

Az eredeti kérdésre a válasz:

vi /etc/rc.conf
font8x14="iso02-8x14"
font8x16="iso02-8x16"
font8x8="iso02-8x8"

Természetesen a LANG-ot is be kell valahogy állítani hu_HU.ISO8859-2 értékre. Valamint ahhoz, hogy a dolog teljesen menjen, a termináltipust is át kell állítani (/etc/ttys -ben kell cons25-ről cons25l2 -re). Ekkor a keretek helyén már legalább vonmalak látszanak (azok, amik a normál ASCII-ban vannak, ha jól emlékszem.) A valódi grafikus keretrajzolókat meg lehet csinálni, évekkel ezelőtt megcsináltam, rövid ideig része volt a rendszernek, de baromi macerás, ezért a fejleszrők elvetették a megoldást, és kiszedték a rendszerből.

Én is küszkdök ilyen gondokkal, sajnos. Régóta használok FreeBSD-t de konzolban még sose sikerült beállítanom, h magyar legyen, igaz annyira nem is próbálkoztam, általában beletörődtem, hogy nem megy. Az ékezetes karakterek nem is fontosak, csak legalább y meg z helyén legyen meg rátójelek, per jel, stb. Fontok, keymap, screenmap, ttys megfelelően van beállítva, ezen kívül LANG és LC_ALL hu_HU.ISO8859-2-re van állítva.
Egyedül a screenmap-ban nem vagyok biztos, az iso-8859-1_to_cp437-re van állítva. Lehet a másik iso-s kell?

Amúgy a cons2512-t beállítottam a .profile-ban is, de akkor az ee editor sem megy, mert azt írja, hogy nem tudja megnyitni a cons2512-t. A ttys-ben viszont rendesen megvan.

(Nem személy szerint neked szól, hanem úgy általában.)
Kérem, hogy aki ilyen FreeBSD-s konzolos problémával jelentkezik, az ne ports/package szoftverrel jelentkező hibaleírással jelentkezzen, hanem mondjuk a FreeBSD alaprendszerében meglevővel. (Ha nem veszed zokon, nem telepítek föl egy progit csak azért, hogy segíthessek.) Szóval a továbbiakban feltételezem, hogy az alaprendszer részeként meglevő "vidfont" paranccsal teszteled a problémádat.

Tehát:

a) FreeBSD-n a screenmap használata gyakorlatilag soha nem kell. (Arra szolgál, hogy begépelsz egy karaktert mondjuk CP852 kódolás szerinti értékkel, és beérkezik ISO-Latin-2 kóddal.) Tehát screenmap NEM KELL (a fenti meg pláne nem).

b) elírtad a termináltipust, azért nyafog az ee. a név: cons25l2 - azaz ugyanaz a cons25, mint eredetileg, utána pedig egy, a Latin2 kódolásra utaló L2 áll (persze kisbetűvel).

Ja még egy apróság: kéretk oprendszer verziót is írni, mert nem feltétlenül mindegy, hogy 4.x, 5.x esetleg 6.x.

És hogy világos legyen - én csináltam meg legelőször FreeBSD-hez a konzol magyarítását - 2.0.5-höz, ha jól emlékszem (magyar latin2-s fontok előállítása, rendezési szabályok, billentyűzetkiosztás, dátumformátum, stb.; 98%-ban ez van ma is benne), és megy is. Én is azt használom.

Sewas!

Akkor itt az én helyzetem:
6.1-RELEASE a verzió, sysinstall-lal beállítottam a console-t, vagyis: iso02-es fontok, nincs screenmap, cons25l2-es terminál, .login_conf-ban a handbook alapján beállítottam a nyelvet.
Ezek után: sysinstall alatt a keret "+,-,|" karakterekből áll, ami úgy gondolom normális. De egyéb ports-ból telepített programnál (pl.: mc) nem ez a helyzet. Ezt lehet valahogy orvosolni? Esetleg fordítási direktívával?

"Anno" az 5.4-ben és a 6.0-ban sikerült elérnem, hogy összefüggő vonalak helyett "-,|,+" jeleket kapjak, ami megfelelő volt, de most sehogy sem sikerül. Igaz, akkor nem használtam framebuffer-t. Lehet, hogy ez az oka? A mostani 6.1-es telepítésemnél a kernelbe beforgattam két opciót, ami a vidcontrol-hoz szükséges. Ha ez okozza a gondot, akkor nagy bajban vagyok, mert nem akarok megválni az 1024x768-as konzoltól. :(

A framebuffer részére nem tudok válaszolni, de normál konzollal ma is megy.

a) ttys fájlban kicserélni minden cons25-t cons25l2-re.

b) LANG (vagy pláne LC_ALL) beállítása hu_HU.ISO8859-2 -re (régebben hu_HU.ISO_8859-2 volt a neve, azaz volt egy plusz aláhúzás a változó értékében)- ez tetszés szerint megoldható

- $HOME/.profile-ból (vagy /etc/profile-ból);

- egy /etc/login.conf -ban definiált hungarian/magyar osztály definiálásával (amiben definiálod ezeket és egyebeket), és a felhasználót bele lehet tenni abba;

- bele lehet tenni ezeket a beállításokat a $HOME/.login_conf -ba;
- stb.

c) és betölteni mindenféle méretben a magyar fontokat, azaz rc.conf-ba:
font8x14="iso02-8x14"
font8x16="iso02-8x16"
font8x8="iso02-8x8"
sorok at felvenni, illetve kézzel betölteni ezeket a vidcontrol paranccsal.

másodszor írsz cons25 1 2 -t cons25 l 2 helyett. Direkt froclizol? Vagy nem ismered a kis-el betű és az egyes szám közti különbséget? Mert neked L kell. Kicsi.

És gondolom azt senki nem gondolja komolyan, hogy a billentyűzetet nem kell beállítani ahhoz, hogy be is tudjad vinni a magyar karaktereket? Azaz aki szeretne ezen kívül magyarul _gépelni_ is, az lesz szíves betölteni magyar billentyűzetmeghajtót.

a) Vagy kbdcontrol -lal a hu.iso2.101keys.kbd vagy hu.iso2.102keys.kbd közül értelemszerűen (azaz akinek angol billentyűzete van - amin nincs í gomb - a 101-est, akinek magyar van, annak a 102-t)

b) vagy rc.conf -ban a keymap változónak a fenti értékek valamelyikét adva (.kbd végződás elhagyható/elhagyandó)

c) vagy lehet kernelbe is belefordítani a lenti paraméterek beépítésével.
options ATKBD_DFLT_KEYMAP # specify the built-in keymap
makeoptions ATKBD_DFLT_KEYMAP=hu.iso2.101keys
(vagy 102)

En is szeretnem megtudni ha mukodik OpenBSD consolen az ISO-8859-2?
Lattam olyan keymapot ami hasznal Latin 2-es karaktereket, pl. PL, SI.

Itt van egy pelda:
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/wskbdmap_mfii.c…

Latszik a KS_L2 (Latin2) hasznalata. Gondolom letezik valami program amivel lehet latni ezeket a karaktereket consolen.

Elnezest kerek ha kicsit off-topic, de nagy segitseg lenne ha tudnatok segiteni par tanacsal. Esetleg lehetne FreeBSD-bol valamit felhasznalni?

Koszonom !