Starší komentáře ke článku: Problém s uvozovkami kolem elementů Q a BLOCKQUOTE 1.

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Pavel Sních

Datum vložení: 26.8.2002 10:27:52

Obávám se, že zde došlo k určitému nedorozumění ohledně definice různých jazykových sad uvozovek. S argumentem, že webmaster má možnost nastavit si uvozovky podle svých představ a tudíž je požadavek nastavení pouze zbytečně náročný, si totiž nevystačíme. Nejlépe lze tento drobný omyl dokumentovat odkazem na HTML 4.01, konkrétně na definici atributu lang, který je použitelný u následujících elementů: "All elements but APPLET, BASE, BASEFONT, BR, FRAME, FRAMESET, IFRAME, PARAM, SCRIPT" a slouží mimo jiné k: "Helping a user agent choose a set of quotation marks".
Čili různé sady uvozovek v závislosti na jazyku budete nutně potřebovat, pokud například váš příklad se zmrzlinou v Gloucesteru obohatíte doplněním odstavce s norským překladem. V norštině, jak notoricky známo se quotuje: Q:lang(no) { quotes: "«" "»" "<" ">" }.

Avatar

Autor komentáře: Martin Snížek

Datum vložení: 27.8.2002 22:00:45

Příliš nechápu, o jakém nedorozumění píšete. Vždyť sám ukazujete, jak je jednoduché pro autora stránky definovat uvozovky pro jazyky, které na stránkách používá -- je to logické, pokud používám nějaký jazyk, dá se předpokládat, že znám i jeho typografické konvence -- toto naopak podle mého nemůžeme požadovat po autorech prohlížečů, protože by na zjištění správných uvozovek pro různě jazyky museli vynaložit vcelku značné (a podle mě zbytečné) úsilí :-)

Avatar

Autor komentáře: Pavel Sních

Datum vložení: 28.8.2002 12:37:35

Šlo mi o to, jak jste odsoudil možnost definice vice sad uvozovek pro různé jazyky, jako zbytečnou. Tak jsem uvedl příklad, kdy se bez ní neobejdete, totiž, že napíšete do jednoho dokumentu dva odstavce v různých jazycích. Čili pokud připravujete nějakou javascriptovou vychytanost pro doplňování uvozovek v MSIE doporučoval bych ji tam zahrnout.

Avatar

Autor komentáře: Martin Snížek

Datum vložení: 29.8.2002 19:14:40

Asi jste si to špatně přečetl -- já jsem odsoudil definice vice sad uvozovek pro různé jazyky pouze v implicitních CSS, tedy těch, které jsou zakomponovány v prohlížečích -- právě proto, že si je každý autor může sám doplnit tak, jak jste to ukázal ve svém prvním příspěvku.

Do té JavaScriptové vychytanosti jsem to nezahrnoval, a to kvůli tomu, že jen minimum čtenářů píše stránky, na kterých používá dva jazyky (respektive citace ve dvou jazycích) najednou -- a pokud někdo takové stránky skutečně píše, nebude pro něj problém si funkci pro doplňování uvozovek upravit.

Avatar

Autor komentáře: Jirka Kosek

Datum vložení: 26.8.2002 11:46:19

Nevím, jestli je zrovna nejšťastnější zapisovat znaky jako české uvozovky do CSS přímo. Kódování CSS stylu je určeno z HTTP hlavičky (kterou většina autorů webů neovlivní), nebo z pravidla @charset (které prohlížeče povětšinou ignorují), nebo z obsahu atributu charset u <link> (což snižuje přenositelnost stylu, protože pro jeho správnou interpretaci je potřeba mít nějaké informace zvenčí).

Lepší je v CSS používat Unicode kódy, odpadá pak problém s nejednoznačností kódováná CSS souboru. Např.:

q { quotes: "\201E" "\201C" "\201A" "\2018"; }

Avatar

Autor komentáře: Martin Snížek

Datum vložení: 27.8.2002 22:09:06

Děkuji za doplnění, všechno to člověka netrkne... :-)

Avatar

Autor komentáře: Martin Kopta

Datum vložení: 8.9.2002 10:01:40

Sem vepište svůj příspěvek.

---> To taky udělám!

<a href='http://www.w3.org/TR/CSS21/syndata.html#x58' target='_blank'>http://www.w3.org/TR/CSS21/syndata.html#x58</a>

<I>When a style sheet resides in a separate file, user agents must observe the following priorities when determining a document's character encoding (from highest priority to lowest):</I>

<I>1. An HTTP "charset" parameter in a "Content-Type" field. </I>
<I>2. The @charset at-rule. </I>
<I>3. Mechanisms of the language of the referencing document (e.g., in HTML, the "charset" attribute of the LINK element). </I>

Myslím, že pak Kosek si to přeloží sám, pro ostatní:

Pokud jsou kaskádové styly uloženy v samostatném souboru, musí user-agent dodržet následující priority při určování znakové sady dokumentu (od nejvyšší po nejnižší prioritu):

1. Parametr "charset" v hlavičce HTTP "Content-Type".
2. @pravidlo @charset.
3. Mechanismus jazyka odkazujícího dokumentu (např. v HTML vlastnost "charset" prvku "LINK").

Takže není žádný důvod, proč při zachování priorit CSS nevyužít pro kaskádové styly vlastní znakovou sadu. Jen doplním, že Content-Type obvykle server odesílá bez určení znakové sady a udává ji až <meta http-equiv>, což může být problém, jelikož CSS nikde neříká, jaký vztah má tahle konstrukce HTML ke stylu (nejspíš žádný). Takže nejlépe je definovat znakovou sadu v odkazu na dokument nebo přímo v dokumentu:

@charset "ISO-8859-2";

Zpět na článek | Úvodní stránka Interval.cz