Gyorsabb és Inkscape-kompatibilis LibreLogo a LibreOffice 7.5-ben

A LibreLogo a LibreOffice magyar fejlesztésű programozási nyelve, amely kihasználja a LibreOffice kiváló vektorgrafikai képességeit, hogy nyomdai minőségű ábrákat, PDF-dokumentumokat és SVG-állományokat hozhassunk létre a segítségével, a LibreOffice 7.5 újdonságaival minden eddiginél gyorsabban és egyszerűbben:

  • Akár két nagyságrenddel gyorsabban megrajzolhatunk több száz vektorgrafikus alakzatot: a VÁR (SLEEP) utasítás az újonnan bevezetett negatív argumentumával zárolja a vásznat, a VÁR 0 pedig feloldja azt, így egy 9 éves i7-es gépen 2 perc helyett mindössze 4 másodperc alatt sikerült kirajzolni 400 félig áttetsző és félig egymást takaró alakzatot (LibreOffice hibajegy: tdf#105575).
  • A CÍMKE/SZÖVEG (LABEL/TEXT) utasítások minden tulajdonságának beállítása alapértelmezetten zárolva van, ezzel akár egy nagyságrenddel gyorsítva a szövegkiírást, a korábbi időnkénti villogást is megoldva.
  • A CÍMKE és SZÖVEG karakterláncokon belül is tetszőlegesen formázhatjuk a betűket egyszerű HTML és HTML-szerű jelöléssel: a több száz OpenType és Graphite betűtulajdonság mellett (pl. <smcp>valódi kiskapitális</smcp>) akár honosított színnevekkel: például
CÍMKE „<piros>piros színű szövegen belül <smcp><kék>kék színű valódi kiskapitális</kék></smcp> szöveg</piros>”
  • Az SVG-kimenet javult, és kompatibilis az Inkscape és más programokkal is: a LibreOffice SVG exportjában még hibás, illetve még nem hordozható részeket, mint a formázáshatárokon széteső szöveg a forgatott szövegben, vagy a betűnévben tárolt OpenType/Graphite betűtulajdonságokat úgy kerüli meg a LibreLogo, hogy ilyen esetben görbévé alakítja a szöveget a LibreOffice Draw segítségével. Példaprogram:
KÉP „kép.svg” [
   BETŰCSALÁD ”Linux Libertine G:smcp&pnum” ; Graphite kiskapitális betűk és egalizált számok
   BALRA 45°
   CÍMKE „<piros>L</piros>IBRE<kék>L</kék>OGO”
]
  • Nincsenek többé szellemképes körvonalak (dupla körvonallal elmentett áttetsző alakzatok) a LibreOffice SVG-kimenetében, így a LibreLogóéban sem (tdf#149800).
  • A közelmúltban frissített, illetve javított felső-szorb és alsó-szorb (mintegy 30 ezren beszélik Németországban), spanyolországi aszturleóni (150 ezer ember), paraguayi guarámí (6 millió ember) és etiópiai szidamó (3 millió ember) honosítás mellett több tucat más nyelven programozhatunk a LibreLogóban. A képen látható betűgrafikán az új BETŰÁTLÁTSZÓSÁG utasítás 38 honosítása látszik (a programkód frissített „fallback” szótárának részletéből, és pár átlátszó szövegből megrajzolva a LibreLogo segítségével).
  • A Logóból és a Pythonból örökölt egyszerűség, a rajzolás, a honosítások, a szabad LibreOffice-nak köszönhető hozzáférhetőség és digitális írástudással való összekötöttség (például az elhelyezett alakzatok utólag módosíthatók az irodai programcsomagokból ismerős módon) a LibreLogót oktatási célra is alkalmassá teszik. Például Olaszországban szeptembertől már mintegy 600 tanár firenzei és nápolyi egyetemi oktatását segíti (Andreas Formiconi közlése).

A fejlesztést az FSF.hu Alapítvány támogatta. További részletek a LibreOffice.hu képes beszámolójában.

Hozzászólások

Szerkesztve: 2022. 12. 07., sze – 08:45

Nem is értem, hogy az alapfokú, de akár a középiskolákban is miért nem ez a hivatalos eszköz az Office tanítására?
Minden elismerésem a fejlesztőknek.

Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Köszönöm szépen, a többi fejlesztő nevében is!

A kérdés jogos. Az online oktatás miatt képbe került a Google Dokumentumok és a LibreOffice is az irodai programcsomagok oktatásánál, de a MS Office meglehetősen be van épülve a rendszerbe (még csak nem is ezekre gondolok: https://www.justice.gov/opa/pr/hungary-subsidiary-microsoft-corporation…, https://www.facebook.com/andras.horvath.7731247/posts/2395133110730983), pusztán az oktatás tehetetlensége miatt is. Pedig a LibreOffice ugyanúgy alkalmas a „digitális írástudás” megszerzésére, mint az MS Office, és nemcsak kevesebbe kerülne az államnak, de nagyobb haszna is volna:

1) Tehetséggondozás: a forráskód megismerhetősége, és az összes szabad forráskód megismerhetősége tényleg tehetségeket eredményez. Ritkán persze, de ha igen, akkor a világot is kifordítja a sarkából (l. Tesla). Az összes nagy techcég szabad szoftverre épít kisebb, de inkább nagyobb mértékben, és a cégeket egy-két tehetséges ember ötletére, munkájára alapítva hozták létre.

2) Esélyegyenlőség: a LibreOffice ingyenesen hozzáférhető, ha otthon, vagy nem iskolai célra szeretné egy diák, vagy szülő használni (szemben az MS Office-szal). Nagyon is húsba vágó probléma: Magyarország az EU legszegényebb országa, ha azt nézzük, hányan élnek szegénységben. A diákok és szüleik körében pedig a szegénység még nagyobb arányú.

Szerkesztve: 2022. 12. 07., sze – 12:21

Pontosítás: a példában említett 400 alakzat valójában 800 alakzat volt. A példaprogramban a teknőc minden egyes kör alakzat után arrébb lép, egy vonalat húzva, azaz egy új törtvonal alakzatot is beillesztve:

VÁR -1
ISMÉT 400 [
    KÖR 10 + HÁNYADIK/10
    ELŐRE 5 + HÁNYADIK/10
    BALRA 10
    ; minden századik kör után kirajzoljuk az új köröket (és vonalakat)
    HA HÁNYADIK % 100 = 0 [
        VÁR 0 VÁR -1
    ]
]

(Ha kivesszük a kódból a körrajzolást, akkor a teknőc útja összefüggő lesz, azaz egy törtvonal alakzat fogja tartalmazni a négyszáz vonalhúzást.)

Van lokalizáció, de nem kötelező: ha a dokumentum angol nyelvű, akkor a Logo programot is angol nyelven várja.

Nem vagyok én sem nagy híve pl. a lokalizált Excelnek, de több oka van a LibreLogo lokalizációnak: az egyik, hogy a magyar közoktatásban is használt Comenius Logo/Imagine Logo lokalizációit ismerje, azaz lehessen az oktatásban egyszerűen átállni egy szabad programra. A másik, hogy a lokalizációval a belépési küszöb tényleg alacsonyabb: lehet a nyelvoktatás megkezdése előtt (ez 4. osztálytól kötelező nálunk) programozást tanítani, de az a felnőtt, aki még sohasem programozott, vagy igen, de rossz tapasztalatai voltak (nem tanult meg) is bátrabban próbálkozhat. A harmadik, hogy össze lehet kötni a nyelvtanulást (nyelvmegőrzést) a programozással, aki például a (kisebbségben lévő) anyanyelvét, vagy a hivatalosat tanulja, pl. az említett etiópiai szidamót (amely csak az oromó, amhara, szomáli és tigrinya után következik az országban), vagy mondjuk ír nyelvet Észak-Írországban (és Írországban). Van egyébként egy beépített nyelvváltás funkció, ha a példaprogramot az ember angol nyelven szeretné látni, hogy megossza pl. másokkal: a dokumentum nyelvét angolra állítva, és a varázspálca ikonra kattintani fordul angolra a program. Ez fordítva is működik, azaz egy angol (vagy más nyelvű nyelvű) programot is lefordít a dokumentum nyelvére.

Szia, Zahy!

Megadható a VÁR 0, de csak a programfutás idejére lehet zárolni a vásznat: a program végén (vagy a program leállításánál) a zárolás automatikusan feloldásra kerül. Ha ezt nem tennénk, és nem volna elég VÁR 0 a program végén (mert a zárolások egymásba ágyazhatók), akkor zavaró módon a dokumentum „lefagyna” („some notifications for display updates are not broadcasted”, l. XModel.idl). A LibreLogo.py Python kódban a feloldást a következő UNO hívások végzik:

while _.doc.hasControllersLocked():
    _.doc.unlockControllers()

Zárolt vászon mellett egyébként működik a BE és KI utasítás, amivel adatokat lehet bekérni és kiírni programfutás közben külön kis párbeszédablakban.

(Viszont sikerült a cikkben lévő programban egy programhibát elhelyezni, a magyar honosított idézőjelek („”) közé bekeveredett egy angol idézőjel is a BETŰCSALÁD utasításnál. Helyesen:

KÉP „kép.svg” [
   BETŰCSALÁD „Linux Libertine G:smcp&pnum” ; Graphite kiskapitális betűk és egalizált számok
   BALRA 45°
   CÍMKE „<piros>L</piros>IBRE<kék>L</kék>OGO”
]

A másik idézőjelezés, amit használhatunk, az a sima ASCII ', mint a Pythonban is, de ezt nem egyszerű beírni a Writerben az alapértelmezett automatikus csere miatt.)