| luit | |
| A luit ISO 8859-1 ékezetes karaktereket jelenít meg egy UTF-8 terminálemulátoron | |
| Fejlesztő | Juliusz Chroboczek, Thomas E. Dickey |
| Első kiadás | 2001 |
| Legfrissebb stabil kiadás | 2.0 |
| Programozási nyelv | C |
| Operációs rendszer | Unix, Unix-like |
| Platform |
|
| Kategória | command, Segédprogram |
| Licenc | MIT-licenc |
| Kódtár | https://invisible-mirror.net/archives/luit/ |
| A luit weboldala | |
A luit egy segédprogram, amely egy számítógépes program karakterkészletének lefordítására szolgál, hogy a kimenete helyesen jelenjen meg egy olyan terminálemulátoron, amely más karakterkészletet használ. Míg az iconv a nyugalmi állapotban lévő karakterláncok vagy szövegfájlok karakterkészletét konvertálja, a luit az interaktívan futó programok bemenetét és kimenetét konvertálja.
A luit fő célja, hogy lehetővé tegye az UTF-8-tól eltérő karakterkészleteket használó „régi” alkalmazások számára a modern terminálemulátorokkal való együttműködést.
A luit parancsra manapság szükség lehet, ha egy „régi” hoszthoz csatlakozunk, amely csak egy régebbi kódolást támogat, például az ISO 8859-1 szabványt. Például az „ssh legacy-machine” parancs futtatása helyett a felhasználónak az „LC_ALL=fr_FR luit ssh legacy-machine” parancsot kell futtatnia a francia ékezetes karakterek megfelelő megjelenítéséhez egy UTF-8 terminálon.
A luit kódolást az ISO 2022 karakterkészlet-váltást használó alkalmazások kimenetének megfelelő megjelenítésére is használják. Az ISO 2022 egy régebbi szabvány, amely lehetővé tette az alkalmazások számára a különböző betűtípusok közötti „váltást”, például a vonalrajzoló karakterek és a szöveg keverését, vagy a szöveg több nyelven és karakterkészletben történő megjelenítését. Maga az UTF-8 nem támogatja a betűtípusok közötti váltást; a kódolás állapot nélküli, és minden egyedi karakternek (beleértve a vonalrajzoló karaktereket is) saját numerikus kódolást ad. Használható e két kódolás közötti fordításra.
Az UTF-8 terminálon való helyes futtatáshoz fordítást igénylő programok például az emacs/MULE korábbi verziói, valamint az olyan programok, amelyek ISO 2022 eltolási szekvenciákat használnak ANSI escape kódokban, amelyek alternatív karakterkészletre váltanak a vonalrajzoló karakterek rajzolásához.
Az xterm automatikusan meghívja a luit-ot, amikor az szükséges a program kimenetének UTF-8-ra való lefordításához, a helyi számítógépen futó programok esetében. Ha távolról csatlakozik egy másik számítógéphez, a felhasználónak közvetlenül a luit-ot kell futtatnia.
A luit az alkalmazás kimenetét a területi beállítás karakterkészlete szerint értelmezi ISO 2022 eltolódások és ECMA-48 escape szekvenciák segítségével. Ha egy alkalmazás a területi beállítás karakterkészletétől eltérő nyelvet használ (amely a luit hiányában esetleg megegyezett volna a terminálemulátor elvárásaival), a luit félreértelmezheti az alkalmazás kimenetét, és hibás kimenetet hozhat létre a terminál számára.
A luit-ot 2001-ben írta Juliusz Chroboczek, amikor a főbb Linux disztribúciók elkezdtek átállni a Unicode karakterkészletre a „régi” kódolásokról, mint például az ISO 8859-1. Azóta széles körben telepített alap segédprogramgá vált, egyes becslések szerint a Linux számítógépes rendszerek több mint felén megtalálható. Ez az IBM AIX rendszerének is része.
A luit-nak két verziója létezik: az egyiket Thomas Dickey tartja karban az xterm részeként, a másikat pedig korábban a freedesktop.org frissítette. Néhány Linux-disztribúció az utóbbi verziót az X11 segédprogramcsomag részeként szállítja. A GitLab-ra való migrálás során azonban ez utóbbi elágazás megszűnt, mert nem volt karbantartva.