Computers themselves, and software yet to be developed,
will revolutionize the way we learn.—
Steve Jobs
A nemrég közzétett – Elválasztás CSS-sel című –
weboldalon agyba-főbe dicsértem a böngészők fejlődését, de rögtön az is kiderült,
hogy a programozók még nem dőlhetnek hanyatt: rengeteg feladat áll előttük.
A Google Chrome, az Internet Explorer meg a többi
böngésző szoftveresei és fejlesztési ütemterveinek készítői mostohagyerekként
kezelik a magyar szövegelválasztás kérdését. Úgy tűnik, idáig csupán a számítógépen
futó Firefox- és Safari-fejlesztők foglalkoztak
érdemben e feladattal.
Létezik egy fantasztikus ember, a svájci Mathias Nater, aki igazán
a szívén viseli ezt az ügyet: éppen tíz évvel ezelőtt mutatta be – az azóta
a forgalomból is kivont – Hyphenator JavaScript-alkalmazásának
első változatát, aminek továbbfejlesztett példányáról fél évtizede önfeledten
lelkendeztem. Most, hogy a nagy böngészőfejlesztők is rámozdultak
a feladatra, finomította a módszerét. A tavaly útjára bocsátott
Hyphenopoly előzékenyen és tisztelettudóan
meghúzódik a háttérben, és csak akkor aktiválódik, ha a webböngésző nem szolgáltatja
természetes módon az elválasztást, vagy megteszi ugyan, de nem
rendelkezik a weboldalon szereplő nyelv
elválasztási szabályrendszerével.
Ízelítő
Ez az alkalmazás jó néhány olyan opciót is tartogat, amely hiányzik a böngészők
natív változatából. Érdekességképpen nézzünk párat:
-
Néhány európai – a támogatott 71-féle nyelvből. Fölül elválasztással, alatta
ugyanaz, elválasztás nélkül (az érdekesség kedvéért tetszés szerint
változtatgathatod a téglalap méretét):
lengyel: Typografia -
termin mający szereg pokrewnych znaczeń związanych z użyciem
znaków pisarskich w druku, prezentacją ich na ekranie monitora
komputerowego itp.
Typografia - termin
mający szereg pokrewnych znaczeń związanych z użyciem znaków
pisarskich w druku, prezentacją ich na ekranie monitora
komputerowego itp.
svéd: En algoritm är inom
matematiken och datavetenskapen begränsad uppsättning (mängd)
väldefinierade instruktioner för att lösa en uppgift, som från
givna utgångstillstånd (starttillstånd) med säkerhet leder till
något givet sluttillstånd.
En algoritm är inom
matematiken och datavetenskapen begränsad uppsättning (mängd)
väldefinierade instruktioner för att lösa en uppgift, som från
givna utgångstillstånd (starttillstånd) med säkerhet leder till
något givet sluttillstånd.
szerb (cirill): Штампарија
се примарно бави израдом штампаних пословних образаца који
имају разноврсну примену. Наше пословне обрасце користи
велики број задовољних клијената из разних делатности.
Такође, се бавимо и дигиталном штампом.
Штампарија
се примарно бави израдом штампаних пословних образаца који
имају разноврсну примену. Наше пословне обрасце користи
велики број задовољних клијената из разних делатности.
Такође, се бавимо и дигиталном штампом.
-
Az alkalmazás néha nem kielégítően választja el a szöveget. Nem mintha
hibásan működne (eddig még egyszer sem kaptam rajta), hanem, mert
a szöveg többféleképpen is elválasztható, és mi másként szeretnénk, mint
amit a programcsomag generál. Jómagam például igyekszem betartani azt
a szigorúbb előírást, miszerint kerülni illik az elválasztásból adódó
sor elejei magánhangzót (kivéve, ha az elválasztás szóösszetétel határára
esik). Ilyen esetekben kivételek vehetők fel egy listába:
exceptions: {
"hu": "de-monst-rá-ciós, funk-ció-val, hiány-zik, idáig, ked-véért,..."
}
A felsorolt kivételek az adott szavak valamennyi előfordulása esetén
érvényesek. A Hyphenopoly ezzel a funkcióval kenterbe veri
a CSS-sel történő elválasztás algoritmusát: bár ott is képezhetők
kivételek, ám minden egyes előfordulásuknál egyenként kell gondoskodni
a helyes elválasztásról.
-
Előírható, hogy az amúgy minden egyes elválasztási pontba automatikusan
beszúrt rejtett elválasztójel
helyére milyen karakter kerüljön:
selectors: {
".bullet": {
hyphen: "•"
}
}
Ez az opció kifejezetten demonstrációs célból
is használható. Míg a rejtett elválasztójel kizárólag a sor végén
jelenik meg, a megadott karakter valamennyi elválasztási pontban,
ezért ennek eredménye határozottan látványos, és segítségével
az elválasztás helyessége is könnyedén ellenőrizhető. (Gondolom,
a szerző munka közben így vizsgálhatta az alkalmazás működését.)
Kiegészítés
E szelektor aktiválásának van egy további előnye is:
segítségével megállapítható, hogy az éppen használt
böngésző gyárilag választja-e el a szöveget vagy sem.
A bal oldali ábra azt mutatja, hogy a böngésző maga
választja el a szöveget, míg a jobb oldali képen
a böngésző nem szolgáltatja az elválasztást, ezért működésbe
lépett a Hyphenopoly, amit a pöttyök bizonyítanak. Bár
az oldal első bekezdésében panaszkodtam a magyar elválasztás
mostoha mivolta miatt, ahogy múlik az idő, egymás után
jelennek meg olyan böngészők, melyek eleve tartalmazzák
a magyar elválasztó algoritmust. Ilyen, viszonylag új
fejlesztésű böngésző például
a Brave, vagy
– meglepő módon – az
Avast
Secure Browser, mely az Avast vírusellenőrző program
mellé fejlesztett (például online bankolás vagy vásárlás
közben a személyes adatok védelmére különös figyelmet
fordító) alkalmazás, de még a Microsoft Edge böngészője
is támogatja a CSS-sel történő elválasztást.
-
Itt egy olyan beállítási lehetőség, aminek hiányát a böngészők natív
elválasztásáról szóló beszámoló utolsó fejezetében említettem.
A
leftmin
és rightmin
szelektorértékekkel meghatározhatjuk, hogy az első és utolsó rejtett
elválasztójel előtt, illetve mögött legalább hány karakter legyen:
selectors: {
".hyphenate": {
leftmin: 2,
rightmin: 3
}, ...
és továbbiak is vannak – úgy egy tucatnyian… Lassan kezdem sajnálni, hogy mindezt
csak a
Hyphenopoly tudja. (Amennyiben sikerült felkelteni az érdeklődésedet,
akár végig is nézheted
az összes beállítási lehetőséget.)
Ha a kis programcsomag annyira megtetszett, hogy a használata kedvéért lemondanál
a böngésző természetes szolgáltatásáról (vagy csak így akarod tesztelni – például
Firefoxban – az alkalmazást), azt is
megteheted. Erre való a konfigurációs blokkban e célra kiadott különleges kulcsszó.
Szokásos esetben a használt nyelvet a következő módon kell az alkalmazás tudomására
hozni:
const Hyphenopoly = {
require: {
"hu": "elválasztójel",
},
ahol a nyelv egy hosszú, legalább 12-karakteres szavát kell megadni (a program
ennek segítségével vizsgálja meg, hogy a böngésző
rendelkezik-e az adott nyelv
elválasztási szabályrendszerével). A webböngésző természetes szolgáltatását
pedig így lehet leváltani:
const Hyphenopoly = {
require: {
"hu": "FORCEHYPHENOPOLY",
},
de ilyenkor hatástalanítani kell a CSS-elválasztást.
A siker
Az Elválasztás CSS-sel című weblapon tényleg azt mondtam volna, hogy
a böngészőfejlesztők versenyének vannak vesztesei? Belátom, tévedtem… Lám-lám,
még sincsenek tényleges vesztesek! Ezzel a kis programcsomaggal a magyar szöveget
nemcsak a Firefox és a Safari algoritmusa, de
a többi böngésző, így akár a Google Chrome is
képes helyesen elválasztani:
Magyar elválasztás: <div>
Angol elválasztás: <div
lang="en">
Megállapította: 1999. évi XLIV. törvény 31. §. Hatályos:
1999. VIII. 1-től. Az ezt követően elkövetett fegyelmi
vétségek miatt indult eljárásokban kell alkalmazni.
Megállapította: 1999. évi XLIV. törvény 31. §. Hatályos:
1999. VIII. 1-től. Az ezt követően elkövetett fegyelmi
vétségek miatt indult eljárásokban kell alkalmazni.
Példa: 1991. évi XLI.
törvény
a közjegyzőkről;
pár előfordulás:
70. § *;
71. § (4) *;
72. § (2) *
A 2012. évi CCXXIII. törvény 318. § (1) szerinti szöveggel
lép hatályba.
A 2012. évi CCXXIII. törvény 318. § (1) szerinti szöveggel
lép hatályba.
Példa: 2012. évi C.
törvény
a Büntető Törvénykönyvről;
pár előfordulás:
6. § (2) *;
403. § (4) *
Bevallom, a
Google Chrome-ban a minta néhány
elemének szélességét módosítani kellett, mert
a
Chrome alapbeállításban is másként méretez,
mint a
Firefox. Azt csak remélni tudom,
hogy más böngészők nem hazudtolnak meg. A biztonság kedvéért azért megmutatom
egy képen, hogyan kellene kinéznie a fenti táblázatnak:
Frissítés
Kedves látogató, az idők folyamán a fejlesztő önálló hálóhelyre költöztette
az alkalmazás segédletét. Itt írja le, hogy
a programcsomag utolsó változatát
hogyan lehet letölteni,
mit és hol kell tárolni a szerveren. Ha akarod, megnézheted
az összes, eddigi változatot,
ahol még azt is megtudhatod, hogy menet közben milyen javítások, módosítások történtek.
A tényleges fejlesztés a Githubon követhető nyomon. Ha csatlakozni
szeretnél, itt elmondhatod a véleményedet, javaslatodat…
Utólag azt is elárulom, kedves látogató, hogy amint tavasszal közzétettem
a fenti mintapéldát, azonnal tájékoztattam az érintett hálóhely webmesterét,
és nemcsak a helytelen kódolásból adódó elválasztási hibát említettem meg, de
megmutattam ezt a leírást is, melynek figyelembevételével még jobbá tehetné
a szolgáltatásukat. Sajnos, egy automatikus válaszlevélen kívül más
visszajelzést nem kaptam, és az oldalaikon a magyar törvények deklarált
nyelve – a mai napig – angol…
Készült:
Utolsó módosítás:
Frissítés:
Korszerűsítés*:
Módosítás**:
Kiegészítés:
2019. 03. 03.
2019. 03. 14.
2019. 07. 19.
2019. 10. 12.
2023. 03. 09.