Diakritika v HTML ve StarOffice

Petr Kolar Petr.Kolar na vslib.cz
Úterý Září 28 15:44:43 CEST 1999


Ivo Sir <ivo.sir na seznam.cz> wrote:
> neresil jste nekdo nasledujici problem? StarOffice HTML Writer
> automaticky
> prekopava diakritiku na &#xxx; system (nevim presne, jak se to jmenuje).
> 
> Treba z i s carkou se stane í a nektere browsery to pak spatne
> zobrazuji. Neprisel jsem na to, jak by se tato funkce dala eliminovat.

Ja takoveto soubory (i kdyz ne ze Star Office) prohanim
   
    perl html8 soubor > vystup
   
nasledujicim skriptem (html8):
   
#!/usr/bin/perl
while (<>) {
  s/\xa0/ /g;
  s/Ă/pack("C", 195)/ge; # Abreve
  s/ă/pack("C", 227)/ge; # abreve
  s/Ą/pack("C", 161)/ge; # Aogonek
  s/ą/pack("C", 177)/ge; # aogonek
  s/Ć/pack("C", 198)/ge; # Cacute
  s/ć/pack("C", 230)/ge; # cacute
  s/Č/pack("C", 200)/ge; # Ccaron
  s/č/pack("C", 232)/ge; # ccaron
  s/Ď/pack("C", 207)/ge; # Dcaron
  s/ď/pack("C", 239)/ge; # dcaron
  s/Ę/pack("C", 202)/ge; # Eogonek
  s/ę/pack("C", 234)/ge; # eogonek
  s/Ě/pack("C", 204)/ge; # Ecaron
  s/ě/pack("C", 236)/ge; # ecaron
  s/Ĺ/pack("C", 197)/ge; # Lacute
  s/ĺ/pack("C", 229)/ge; # lacute
  s/Ľ/pack("C", 165)/ge; # Lcaron
  s/ľ/pack("C", 181)/ge; # lcaron
  s/Ł/pack("C", 163)/ge; # Lstroke
  s/ł/pack("C", 179)/ge; # lstroke
  s/Ń/pack("C", 209)/ge; # Nacute
  s/ń/pack("C", 241)/ge; # nacute
  s/Ň/pack("C", 210)/ge; # Ncaron
  s/ň/pack("C", 242)/ge; # ncaron
  s/Ő/pack("C", 213)/ge; # Odoubleacute
  s/ő/pack("C", 245)/ge; # odoubleacute
  s/Ŕ/pack("C", 192)/ge; # Racute
  s/ŕ/pack("C", 224)/ge; # racute
  s/Ř/pack("C", 216)/ge; # Rcaron
  s/ř/pack("C", 248)/ge; # rcaron
  s/Ś/pack("C", 166)/ge; # Sacute
  s/ś/pack("C", 182)/ge; # sacute
  s/Š/pack("C", 169)/ge; # Scaron
  s/š/pack("C", 185)/ge; # scaron
  s/Ţ/pack("C", 224)/ge; # Tcedilla
  s/ţ/pack("C", 254)/ge; # tcedilla
  s/Ť/pack("C", 171)/ge; # Tcaron
  s/ť/pack("C", 187)/ge; # tcaron
  s/Ů/pack("C", 217)/ge; # Uring
  s/ů/pack("C", 249)/ge; # uring
  s/Ű/pack("C", 219)/ge; # Udoubleacute
  s/ű/pack("C", 251)/ge; # udoubleacute
  s/Ź/pack("C", 172)/ge; # Zacute
  s/ź/pack("C", 188)/ge; # zacute
  s/Ż/pack("C", 175)/ge; # Zabovedot
  s/ż/pack("C", 191)/ge; # zabovedot
  s/Ž/pack("C", 174)/ge; # Zcaron
  s/ž/pack("C", 190)/ge; # zcaron
  s/&#(\d+);/pack("C", $1)/ge;
#  s/ /\xa0/g;
  s/¡/\xa1/g;
  s/¢/\xa2/g;
  s/£/\xa3/g;
  s/¤/\xa4/g;
  s/¥/\xa5/g;
  s/¦/\xa6/g;
  s/§/\xa7/g;
  s/¨/\xa8/g;
  s/©/\xa9/g;
  s/ª/\xaa/g;
  s/«/\xab/g;
  s/¬/\xac/g;
  s/­/\xad/g;
  s/®/\xae/g;
  s/¯/\xaf/g;
  s/°/\xb0/g;
  s/±/\xb1/g;
  s/&sup2;/\xb2/g;
  s/&sup3;/\xb3/g;
  s/´/\xb4/g;
  s/µ/\xb5/g;
  s/¶/\xb6/g;
  s/·/\xb7/g;
  s/¸/\xb8/g;
  s/&sup1;/\xb9/g;
  s/º/\xba/g;
  s/»/\xbb/g;
  s/&frac14;/\xbc/g;
  s/&frac12;/\xbd/g;
  s/&frac34;/\xbe/g;
  s/¿/\xbf/g;
  s/À/\xc0/g;
  s/Á/\xc1/g;
  s/Â/\xc2/g;
  s/Ã/\xc3/g;
  s/Ä/\xc4/g;
  s/Å/\xc5/g;
  s/Æ/\xc6/g;
  s/Ç/\xc7/g;
  s/È/\xc8/g;
  s/É/\xc9/g;
  s/Ê/\xca/g;
  s/Ë/\xcb/g;
  s/Ì/\xcc/g;
  s/Í/\xcd/g;
  s/Î/\xce/g;
  s/Ï/\xcf/g;
  s/Ð/\xd0/g;
  s/Ñ/\xd1/g;
  s/Ò/\xd2/g;
  s/Ó/\xd3/g;
  s/Ô/\xd4/g;
  s/Õ/\xd5/g;
  s/Ö/\xd6/g;
  s/×/\xd7/g;
  s/Ø/\xd8/g;
  s/Ù/\xd9/g;
  s/Ú/\xda/g;
  s/Û/\xdb/g;
  s/Ü/\xdc/g;
  s/Ý/\xdd/g;
  s/Þ/\xde/g;
  s/ß/\xdf/g;
  s/à/\xe0/g;
  s/á/\xe1/g;
  s/â/\xe2/g;
  s/ã/\xe3/g;
  s/ä/\xe4/g;
  s/å/\xe5/g;
  s/æ/\xe6/g;
  s/ç/\xe7/g;
  s/è/\xe8/g;
  s/é/\xe9/g;
  s/ê/\xea/g;
  s/ë/\xeb/g;
  s/ì/\xec/g;
  s/í/\xed/g;
  s/î/\xee/g;
  s/ï/\xef/g;
  s/ð/\xf0/g;
  s/ñ/\xf1/g;
  s/ò/\xf2/g;
  s/ó/\xf3/g;
  s/ô/\xf4/g;
  s/õ/\xf5/g;
  s/ö/\xf6/g;
  s/÷/\xf7/g;
  s/ø/\xf8/g;
  s/ù/\xf9/g;
  s/ú/\xfa/g;
  s/û/\xfb/g;
  s/ü/\xfc/g;
  s/ý/\xfd/g;
  s/þ/\xfe/g;
  s/ÿ/\xff/g;
  print;
}

Prvni pulka je na Unicode, takze se nedivte entitam s kody vetsimi nez
256.

                                                           S pozdravem
--
                          ***  Petr Kolar  ***
 Department of Information Technologies, Technical University of Liberec
             Voronezska 1329, 461 17 Liberec, Czech Republic
             Phone: +420-48-535-2371   Fax: +420-48-535-2229
  E-mail: Petr.Kolar na vslib.cz  http://asterix.vslib.cz/staff/kolar.html


Další informace o konferenci Redhat-cz