Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 15. 5. 2016 16:29:11

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

podivná mezera v indexu jako symbolu

Dobrý den. Symboly resp. znaky ASCII pod číslem 8320 až 8334 představují dolní indexy. Pokud vložím znaky pomocí funkce unichar tak že číslo uzavřu do závorek, zobrazí se tak že mezi levou závorkou a číslem je mezera o délce rovné předchozímu textu :-).
Např. ="text"&UNICHAR(8333)&UNICHAR(8321)&UNICHAR(8334) se zobrazí takto


text(    1)


samotná posloupnost =UNICHAR(8333)&UNICHAR(8321)&UNICHAR(8334) se zobrazí správně


(1)


dáme-li do sloupce čísla 1-10 a použiju vzorec =REPT("0";A1)&UNICHAR(8333)&UNICHAR(8321)&UNICHAR(8334) zobrazí se

0₍ ₁₎
00₍  ₁₎
000₍   ₁₎
0000₍    ₁₎
00000₍     ₁₎
000000₍      ₁₎
0000000₍       ₁₎
00000000₍        ₁₎
000000000₍         ₁₎
0000000000₍          ₁₎


Domnívám se že se jedná o chybu. Je to ovlivnitelné fontem např. font Calibri a některé další fonty to zobrazuje správně, avšak naprostá většina špatně


LibreOffice 5.2.2.2

Offline

#2 16. 5. 2016 11:26:20

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,678

Re: podivná mezera v indexu jako symbolu

Funkce REPT() opakuje "pouze řetězce" podle zadání. Takže opakuje nuly zadané jako text a pak také mezery. Závorky a čísla nepovažuje za žetězec ASCI (jsou to Unichary - tedy znaky > 255).
    Z toho se dá vycházet ať už to je, nebo není chyba. Chybou to asi bude, protože to opakuje řetězcovou proměnnou i za závorkou - tedy úplně vše ve vzorci tak jak to děláí například formát barvy pozadí, nebo písma. To by takto asi být nemělo. Jen si uvědomíme, že podobné typy vzorců pro celý obsah buňky existují.


    Takže chyba to být nemusí, a je to jedno. Pokuste se buď vynechat tu mezeru před jedničkou, nebo zadejte mezeru pomocí Unichar který je netisknutelný a proto udělá vizuálně mezeru. Některé znaky se projeví jako mezera, některé ne. Takže musíte najít správný.
    Ještě před tím otestujte "UNICHAR-y" s malými čísly. Například UNICHAR(32) - což je mezera, ale REPT by to nemělo odhalit. Samozřejmě mezera je neviditelná takže u jiného ASCI znaku to raději nedělejte (0 - 31) i když by to měly umět také znaky 127, tuším 129 a 131.

Editoval neutr (16. 5. 2016 11:28:31)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 16. 5. 2016 11:35:36

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

Re: podivná mezera v indexu jako symbolu

="abcdefg"&UNICHAR(8333)&UNICHAR(8321)&UNICHAR(8334) se zobrazí takto
abcdefg(        1)

Je to jasná chyba. Spíše je zarážející že některé fonty to zobrází správně (asi 10 fontů z célé mé nabídky, co mám v systému třeba Calibri zobrazí: abcdefg(1) tedy dle očekávání. Mezera není před číslem ale za závorkou. Nevím které všechny zanky to způsobují ale určite obě závorky tj. 8333 a 8334, déle znaky 8330, 8331, 8332 (,),+,-,= Od zanku 8336 (dolní index "a")se zobrazuje normálně

abcdefgₐ₁₎

test od znaku 8320 po znak 8329 (na prvním místě indexu za řetězcem "abcdefg". (měl bych ještě říct, že zde po nakopírování do příspěvku se index zobrazí správně, abych interpretoval to jak se to tváří v LO musím tam mezery ručně dopsat.

abcdefg₀₁₎
abcdefg₁₁₎
abcdefg₂₁₎
abcdefg₃₁₎
abcdefg₄₁₎
abcdefg₅₁₎
abcdefg₆₁₎
abcdefg₇₁₎
abcdefg₈₁₎
abcdefg₉₁₎
abcdefg₊       ₁₎
abcdefg₋       ₁₎
abcdefg₌       ₁₎
abcdefg₍       ₁₎
abcdefg₎       ₁₎
abcdefg₏₁₎
abcdefgₐ₁₎
abcdefgₑ₁₎
abcdefgₒ₁₎
abcdefgₓ₁₎

Edit: komplet i s horním indexem je to takto (pro horní index použity jako druhý a třetí znak indexu 8304 a 8318
číslo znaku    posloupnost
8304    abcdefg⁰⁰⁾
8305    abcdefgⁱ       ⁰⁾
8306    abcdefg⁲⁰⁾
8307    abcdefg⁳⁰⁾
8308    abcdefg⁴⁰⁾
8309    abcdefg⁵⁰⁾
8310    abcdefg⁶⁰⁾
8311    abcdefg⁷⁰⁾
8312    abcdefg⁸⁰⁾
8313    abcdefg⁹⁰⁾
8314    abcdefg⁺       ⁰⁾
8315    abcdefg⁻       ⁰⁾
8316    abcdefg⁼       ⁰⁾
8317    abcdefg⁽       ⁰⁾
8318    abcdefg⁾       ⁰⁾
8319    abcdefgⁿ⁰⁾
8320    abcdefg₀₁₎
8321    abcdefg₁₁₎
8322    abcdefg₂₁₎
8323    abcdefg₃₁₎
8324    abcdefg₄₁₎
8325    abcdefg₅₁₎
8326    abcdefg₆₁₎
8327    abcdefg₇₁₎
8328    abcdefg₈₁₎
8329    abcdefg₉₁₎
8330    abcdefg₊       ₁₎
8331    abcdefg₋       ₁₎
8332    abcdefg₌       ₁₎
8333    abcdefg₍       ₁₎
8334    abcdefg₎       ₁₎
8335    abcdefg₏₁₎
8336    abcdefgₐ₁₎
8337    abcdefgₑ₁₎
8338    abcdefgₒ₁₎
8339    abcdefgₓ₁₎

Editoval ludviktrnka (16. 5. 2016 11:54:57)


LibreOffice 5.2.2.2

Offline

Zápatí