Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Ahoj!
Chtel bych se zeptat, jak mam nastavit xterm tak, aby mi nasleduji program vypsal pismeno Č:
#include <iostream>
using namespace std;
int main()
{
char ch = 200; // v ISO 8859-2 je to velke pismeno C s hackem
cout.imbue(std::locale("cs_CZ.iso88592"));
cout << ch << "\nKonec programu" << endl;
} // main
Pokud spustim xterm takto: xterm -en ISO8859-2 tak vse funguje jak ma, ja bych ho vsak chtel spustit s parametrem -lc a nejakym zpusobem ho donutit, aby vypisoval co potrebuju, coz se ne a ne povest.
PS: Nevim vubec jak ma luit, potazmo option -lc fungovat; co jsem koukal, tak by to melo fungovat tak, ze podle toho jake nastavim LOCALE v programu, tak podle toho se automaticky nastavi terminal tak, aby se vse vypisovalo dle daneho locale? Je to tak? Z dokumentace luit nejsem prilis moudry :(
Nevím, co všechno dělá std::cout.imbue(), ale luit potřebuje předem znát kódování, v kterém poběží program.
Mně LANG=cs_CZ.iso8859-2 xterm -hold -lc -e /tmp/a.out
funguje (kde /tmp/a.out je váš program).
A muzu tedy nejak pri behu programu luitu dat vedet, ze ted chci pouzit (jine) konkretni kodovani? Potrebuji tuto zmenu totiz provest z vlastniho programu. Toto zmenu tedy potrebuji provest az potom, co je terminal spusten.
Asi by to mělo jít přes ISO 2022 escape sekvence, jak tvrdí luit(1) a demonstrace s Emacsem.
Nicméně v praxi jsem to viděl jen u východoasijských znakových sad, kde se takto přepíná mezi latinkou a jejich dvoubajtovým písmem. Tam se ale pouze přepíná mezi dvěma implicitně danými sadami a tak se vysílá jen „přepni tam“ a „přepni zpět“, nikoliv „přepni do ISO-8859-1“.
Z vašeho programu se mi nepodařilo tyto sekvence dostat:
$ ./a.out |hexdump -C 00000000 c8 0a 4b 6f 6e 65 63 20 70 72 6f 67 72 61 6d 75 |È.Konec programu| 00000010 0a |.| 00000011
Před prvním bajtem 0xC8 ('Č' v ISO-8859-2) by měla být ta přepínací sekvence.
Diky za nasmerovani, bohuzel mi to i s prepnutim nefunguje. Mirne upraveny program:
#include <iostream>
using namespace std;
int main()
{
char ch = 200; // v ISO 8859-2 je to velke pismeno C s hackem
cout.imbue(std::locale("cs_CZ.iso88592"));
cout << "\033-B" << ch << "\nKonec programu" << endl;
} // main
Tiskni Sdílej: