Nedělitelná mezera v OSM datech - poznámka na okraj

6 zpráv
Zpět na přehled

Nedělitelná mezera v OSM datech - poznámka na okraj

6 zpráv JMP 3 účastníků 4 min čtení
  1. Jan Martinec jan na martinec.name #m2e85ff
    (A když jsme u toho párování, porovnávání a podobných mňamek, __normalizace velkých písmen už teď zdaleka nestačí__ - je třeba používat nástroje, který má daný jazyk pro Unicode. Ne proto, že by to jinak nešlo, ale proto, že to tuhle práci udělá samo, i pro případy, který by mě ani nenapadly. Což znamená mj. to, že když ty stringy budeš porovnávat po bajtech, tak tě kousne nejen whitespace, ale i případ, kdy "Bělá" je sice v Unicode rovno "Bělá", ale převedený __na bajty__ bez normalizace do NFC nebo NFD to není identický, protože to první jsou čtyři znaky, a druhý je fskutčnosti znaků šest, totiž "B(kombinující háček)el(kombinující čárka)a", a obojí je rovnocenný způsob zápisu - ani jedno není workaround či hack. Konec hlášení pro řetězcovou veřejnost ;)) Dne 20. 1. 2017 18:55 napsal uživatel "Lukáš Karas" <lukas.karas na centrum.cz
  2. Marián Kyral mkyral na email.cz #m6cf1fa
    ...protože to první jsou čtyři znaky, a druhý je fskutčnosti znaků šest, totiž "B(kombinující háček)el(kombinující čárka)a", a obojí je rovnocenný způsob zápisu - ani jedno není workaround či  hack. fskutčnosti  - to je nějaký novotvar? Poprvé jsem to bral jako překlep, ale podruhé už to nebude náhoda. Marián
  3. Jan Martinec jan na martinec.name #m14a6fe
    Jo pardon, je to novotvar vytvořený Opráski Sčeskí Historje. Evidentně ho používám, aniž bych si to uvědomil. Zde starší (2012) varianta: http://historje.tumblr.com/post/36601048973/mitlologické-počátki Dne 20. 1. 2017 21:02 napsal uživatel "Marián Kyral" <mkyral na email.cz>:
  4. Marián Kyral mkyral na email.cz #mc08601
    Jo pardon, je to novotvar vytvořený Opráski Sčeskí Historje. Evidentně ho používám, aniž bych si to uvědomil. Zde starší (2012) varianta: http://historje.tumblr.com/post/36601048973/mitlologické-počátki <http://historje.tumblr.com/post/36601048973/mitlologick%C3%A9-po%C4%8D%C3%A1tki>
    Aha tak proto to neznám. Jejich prznění češtiny se mi nelíbí, takže je ignoruji. Konec zvídavého dotazu. Marián
  5. Pavel Machek pavel na ucw.cz #m8ca9a2
    (A když jsme u toho párování, porovnávání a podobných mňamek, __normalizace velkých písmen už teď zdaleka nestačí__ - je třeba používat nástroje, který má daný jazyk pro Unicode. Ne proto, že by to jinak nešlo, ale proto, že to tuhle práci udělá samo, i pro případy, který by mě ani nenapadly. Což znamená mj. to, že když ty stringy budeš porovnávat po bajtech, tak tě kousne nejen whitespace, ale i případ, kdy "Bělá" je sice v Unicode rovno "Bělá", ale převedený __na bajty__ bez normalizace do NFC nebo NFD to není identický, protože to první jsou čtyři znaky, a druhý je fskutčnosti znaků šest, totiž "B(kombinující háček)el(kombinující čárka)a", a obojí je rovnocenný způsob zápisu - ani jedno není workaround či hack.
    Hmm. To abychom do kernelu pridali unicodovej normalizator. Ne-e, sorry. Zapsat pomoci 6-ti znaku na co staci 4 znaky je workaround a hack. Podobne by mi prislo rozumny normalizovat _pred_ ulozenim do osm databaze. Pavel
  6. Jan Martinec jan na martinec.name #m3b3eb3
    Já bych si dovolil tvrdit něco jiného: Můžeme s tím nesouhlasit, můžeme o tom diskutovat, ale to je situace, kterou s Unicode a s UTF8 už teď máme, a je to stav odpovídající specifikaci unikodu, tj.ne chyba k opravě. Volat "fuj fuj hack nechci to" je sice možný názor, ale jakou navrhuješ alternativu? Vrátíme se ke Kameníkům, byli takoví hezký a přehledný? Tahle loď už odplula - planetfile je tak nějak z definice celosvětový, a Unicode znaky nejsou bajty, ba ani 1:1 sekvence bajtů (kernelu se to medle netýká vůbec, to je záležitost OSM toolchainu). Normalizovat před uložením - já jsem úplně pro, když zrovna pro češtinu ten kratší způsob zápisu existuje...jenže to si můžeme říct tady, a kdo to bude hlídat, že třeba nějaká appka nebude zapisovat tagy v NFD? Z principu to ani nemůže nikdo u-hlídat; prostě je třeba počítat s tím, že občas dostaneme validní data kódovaná jinak než tou konvencí, kterou si tady my vzájemně řekneme. TL;DR: nemáme vliv na všechna vstupní data, a nic s tím nenaděláme. Pokud jsou validní, musíme s nimi žít. Dne 31. 1. 2017 12:43 odp. napsal uživatel "Pavel Machek" <pavel na ucw.cz>:
    (A když jsme u toho párování, porovnávání a podobných mňamek,
    __normalizace
    velkých písmen už teď zdaleka nestačí__ - je třeba používat nástroje,
    který
    má daný jazyk pro Unicode. Ne proto, že by to jinak nešlo, ale proto, že
    to
    tuhle práci udělá samo, i pro případy, který by mě ani nenapadly. Což znamená mj. to, že když ty stringy budeš porovnávat po bajtech, tak tě kousne nejen whitespace, ale i případ, kdy "Bělá" je sice v Unicode rovno "Bělá", ale převedený __na bajty__ bez normalizace do NFC nebo NFD to není identický, protože to první jsou čtyři znaky, a druhý je fskutčnosti znaků šest, totiž "B(kombinující háček)el(kombinující čárka)a", a obojí je rovnocenný způsob zápisu - ani jedno není workaround či hack.
    Hmm. To abychom do kernelu pridali unicodovej normalizator. Ne-e, sorry. Zapsat pomoci 6-ti znaku na co staci 4 znaky je workaround a hack. Podobne by mi prislo rozumny normalizovat _pred_ ulozenim do osm databaze. Pavel
Napsat odpověď e-mailem… Odpovědět

Otevře váš e-mailový klient. Odpovědi pak sledujte zde na webu.